#ifndef DTC901X64_H_INC
#define DTC901X64_H_INC

#ifdef DTC901X64X64_EXPORTS
#define DTC901X64_API __declspec(dllexport)
#else
	#ifdef DTC901X64_EXPORTS
	#define DTC901X64_API __declspec(dllexport)
	#else
	#define DTC901X64_API __declspec(dllimport)
	#endif
#endif

#include <windows.h>
#include "..\..\dtc_def.h"

#ifndef HCARD_DEF
#define HCARD_DEF
typedef void* HCARD;
#endif

extern "C" DTC901X64_API DWORD __stdcall Dtc64GetDllVer(void);
extern "C" DTC901X64_API int   __stdcall Dtc64CountCards(void);
extern "C" DTC901X64_API HCARD __stdcall Dtc64Open(int cardIndex);
extern "C" DTC901X64_API void  __stdcall Dtc64Close(HCARD hCard);

extern "C" DTC901X64_API int __stdcall Dtc64GetFifoRange(HCARD hCard, int fifoId);
extern "C" DTC901X64_API FifoHead __stdcall Dtc64GetFifoState(HCARD hCard, int fifoId);

extern "C" DTC901X64_API int __stdcall Dtc64WritePcCommands(HCARD hCard, unsigned short *cmdsBuf, int count);
extern "C" DTC901X64_API int __stdcall Dtc64ReadDtcEvents(HCARD hCard, unsigned short *eventsBuf, int maxCount);
extern "C" DTC901X64_API int __stdcall Dtc64ReadDtcAcq(HCARD hCard,unsigned short *acqBuf, int acqBufLen);

extern "C" DTC901X64_API WORD __stdcall Dtc64GetFreePcChnl(HCARD hCard);
extern "C" DTC901X64_API BOOL __stdcall Dtc64ClearPcChnl(HCARD hCard, WORD chnl);
extern "C" DTC901X64_API int  __stdcall Dtc64WritePcCtrl(HCARD hCard, WORD chnl, unsigned short* ctrlFlow, int ctrlFlowLen);

#endif
